# SSL证书验证
"""
requests还提供了证书验证功能，当发送HTTP请求的时候，它会检查SSL证书，
我们可以使用verify参数控制是否检查SSL证书。

1)请求一个HTTPS网站时，如果该网站的证书没有被CA机构信任，程序将会出错，
提示SSL证书验证错误。对此，只需要将verify参数 设置为False即可。
如下：

import requests
resposne = requests.get('https://www.12306.cn',verify=False)
print(response.status_code)

也可以指定一个本地证书用作客户端证书，
它可以是单个文件（包含密钥和证书）或一个包含两个文件路径的元组。

import requests
#本地需要有crt和key文件（key必须是解密状态，加密状态的key是不支持的），并指定它们的路径，
response = requests.get('https://www.12306.cn',cert('/path/server.crt','/path/key'))
print(response.status_code)

2)在请求SSL证书不被CA机构认可的HTTPS网站时，虽然设置了verify参数为False，
但程序运行可能会产生警告，警告中建议我们给它 指定证书，
可以通过设置忽略警告的方式来屏蔽这个警告：

import requests
from requests.packages import urllib3
urllib3.disable_warnings()
response = requests.get('https://www.12306.cn',verify=False)
print(response.status_code)

或者通过捕获警告到日志的方式忽略警告：

import logging
import requests
logging.captureWarnings(True)
response = requests.get('https://www.12306.cn',verify=False)
print(response.status_code)

"""